package com.luo.chengrui.module.crbpm.service.flowable;

import java.util.*;
import javax.validation.*;
import com.luo.chengrui.module.crbpm.controller.admin.flowable.vo.*;
import com.luo.chengrui.module.crbpm.dal.dataobject.flowable.ActReModelDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;

/**
 * 流程模型 Service 接口
 *
 * @author luodz
 */
public interface ActReModelService {

    /**
     * 更新流程模型
     *
     * @param updateReqVO 更新信息
     */
    void updateActReModel(@Valid ActReModelUpdateReqVO updateReqVO);
    /**
     * 获得流程模型
     *
     * @param id 编号
     * @return 流程模型
     */
    ActReModelDO getActReModel(String id);

    /**
     * 获得流程模型列表
     *
     * @param ids 编号
     * @return 流程模型列表
     */
    List<ActReModelDO> getActReModelList(Collection<String> ids);

    /**
     * 获得流程模型分页
     *
     * @param pageReqVO 分页查询
     * @return 流程模型分页
     */
    PageResult<ActReModelDO> getActReModelPage(ActReModelPageReqVO pageReqVO);

    /**
     * 获得流程模型列表, 用于 Excel 导出
     *
     * @param exportReqVO 查询条件
     * @return 流程模型列表
     */
    List<ActReModelDO> getActReModelList(ActReModelExportReqVO exportReqVO);

}
